package atom.engine.proof.tree;

import java.util.ArrayList;
import java.util.List;

public class ProofTreeNode {

	private final String connective;
	private int level;
	private List<ProofTreeNode> children;
	private ProofTreeNode parent;

	public ProofTreeNode(String connective) {
		this.connective = connective;
	}
	
	public ProofTreeNode(String connective, int level) {
		this.connective = connective;
		this.level = level;
	}

	public ProofTreeNode(String connective, int level,List<ProofTreeNode> children) {
		this.connective = connective;
		this.level = level;
		this.children = children;
	}

	public String getConnective() {
		return connective;
	}

	public int getLevel() {
		return level;
	}

	public void setLevel(int level) {
		this.level = level;
	}

	public List<ProofTreeNode> getChildren() {
		if (children != null) {
			return new ArrayList<ProofTreeNode>(children);
		}
		return null;
	}

	public void setChildren(List<ProofTreeNode> children) {
		this.children = children;
	}

	public ProofTreeNode getParent() {
		return parent;
	}

	public void setParent(ProofTreeNode parent) {
		this.parent = parent;
	}
}
